Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem][Java] Null przy arrayliście


Rekomendowane odpowiedzi

Opublikowano

Witam

 

Mam problem z arraylistą. Oto mój kod:

for(int i = 0 ; i <= size; i++){
Location location = getDisplay((x + i), y);
 
if( parts.get(i) != null ){
display_send(location, line, parts.get(i));
}
}
 

Problem występuje w tej lini

if( parts.get(i) != null ){
 

Kod błędu:

 


[21:43:00 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'crystalos' in plugin CrystalOS v1.0
>       at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:175) ~[craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:683) ~[craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:952) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:814) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:47) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
>       at java.util.ArrayList.rangeCheck(ArrayList.java:635) ~[?:1.7.0_51]
>       at java.util.ArrayList.get(ArrayList.java:411) ~[?:1.7.0_51]
>       at pl.maticpl.CrystalOS.Display.CrystalOS_Display.display_string(CrystalOS_Display.java:55) ~[?:?]
>       at pl.maticpl.CrystalOS.CrystalOS.onCommand(CrystalOS.java:61) ~[?:?]
>       at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3023jnks]
>       ... 13 more
 

Opublikowano

No, ale jak to możliwe? pod zmienną size jest oczywiście wielkość tej listy

...

https://github.com/BukkitSmerf/BukkitTutorial-PL/wiki/Java-ArrayList

widać nie wiesz za dużo o listach i indexach :<

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

No, ale jak to możliwe? pod zmienną size jest oczywiście wielkość tej listy

W tym przypadku pobierasz size, który liczy od 1 elementy a nie jak indexy czyli od zera. Rozwiązaniem problemu byłoby zrobienie przy for size -1 zamiast samo size, aby zapobiec wychodzeniu poza listę.

Opublikowano

W tym przypadku pobierasz size, który liczy od 1 elementy a nie jak indexy czyli od zera. Rozwiązaniem problemu byłoby zrobienie przy for size -1 zamiast samo size, aby zapobiec wychodzeniu poza listę.

albo zmiana <= na ==

...

 

Albo zrobienie pętli for-each

for (String s:parts){

}

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...